/*
 * Copyright By ZATI
 * Copyright By 3a3c88295d37870dfd3b25056092d1a9209824b256c341f2cdc296437f671617
 * All rights reserved.
 *
 * If you are not the intended user, you are hereby notified that any use, disclosure, copying, printing, forwarding or
 * dissemination of this property is strictly prohibited. If you have got this file in error, delete it from your system.
 */
package com.neuedu.common.template;

import java.util.Objects;

/**
 * @author za-qinkai
 */
@FunctionalInterface
public interface ImmutableTriplePredicate<T, Y, U> {

    boolean test(T t, Y y, U u) throws Exception;

    default ImmutableTriplePredicate<T, Y, U> and(ImmutableTriplePredicate<? super T, ? super Y, ? super U> other) {
        Objects.requireNonNull(other);
        return (T t, Y y, U u) -> test(t, y, u) && other.test(t, y, u);
    }

}

